1. Field of the Invention
This invention relates to automated semiconductor manufacturing process control, and more particularly to an active starvation avoidance lot start agent that calculates a delta virtual work in process time for each of a plurality of bottleneck workstations in a multi-product and multi-bottleneck manufacturing environment.
2. Description of the Related Art
Semiconductor factories are relatively complex and costly to operate. Automated control of semiconductor manufacturing processes can provide a mechanism for attaining optimal factory performance, improving the quality and lowering the cost of production, expanding the production rate, and relieving the drudgery of many routine, repetitive manual operations.
Controlling a semiconductor factory, however, is a challenging task. A semiconductor factory (xe2x80x9cfabxe2x80x9d) is a complex environment where numerous parts, typically 40 thousand wafers or more, and numerous part types, typically 100 part types or more, are simultaneously being manufactured. As each wafer moves through the fab, it may undergo more than 300 processing steps, many of which use the same machines. A large factory may contain approximately 500 computer-controlled machines to perform this wafer processing. Routing, scheduling, and tracking material through one of these factories is a difficult and complicated task, even with the assistance of a computerized factory control system.
In attempting to develop computerized models and computerized control mechanisms for semiconductor manufacturing plants, the inventors have discovered that it is useful to utilize an object-oriented approach. Object-orientation is a technique for system modeling that models a system as a number of xe2x80x9cobjectsxe2x80x9d that interact. The result of this approach is the definition of a number of objects within the system that are related in some way. Each object is a specific instantiation of a particular class, with certain attributes and operations characterizing the class.
In developing a computerized system for modeling and controlling a semiconductor manufacturing plant, it is useful to understand the important role ofxe2x80x9ccycle time.xe2x80x9d Cycle time is the time it takes to manufacture a product from start to finish, and is defined to be the time a job spends in the manufacturing facility, including processing time plus waiting time. Cycle time is a key factory metric for manufacturing plants, including those in the semiconductor industry. Due to the complexity of the manufacturing process, product cycle times in semiconductor manufacturing facilities (xe2x80x9cfabxe2x80x9d) can exceed 8 weeks.
Another important metric in the semiconductor fabrication context is the throughput rate. The throughput rate is the average number of wafers that leave the fab per unit of time.
For many reasons, it is highly desirable to reduce cycle time as much as possible without sacrificing factory throughput or on-time delivery. One reason is that reducing cycle time allows learning to occur more rapidly so yield and product improvements can be introduced more quickly. Also, an enterprise with low cycle times is inherently more flexible and can adapt quickly to changes in the marketplace or other business conditions. A third reason that it is desirable to minimize cycle time, and consequently, waiting time, is that a decrease in waiting time decreases the time a wafer is exposed to particles in the clean room, thus increasing yield.
Cycle time is related to Work-in-Process (WIP) by Little""s Law:
WIP=Cycle Time*Throughput Rate
From this formula it is clear that, by holding the throughput rate constant and reducing WIP, cycle time is reduced. In order to maintain maximum throughput, idle time on the most highly utilized (xe2x80x9cbottleneckxe2x80x9d) machines in the manufacturing process must be minimized. It is thus important not to reduce WIP so much that a xe2x80x9cbottleneckxe2x80x9d machine experiences idle time (i.e., xe2x80x9cstarvesxe2x80x9d), which results in lost production and reduction in throughput rate.
What is needed is an efficient, automated manner of reducing WIP in a semiconductor fab, and thereby reducing cycle time, without sacrificing throughput.
In the terminology of object-oriented computing, a software xe2x80x9cagentxe2x80x9d is an autonomous, active object. Given its set of methods and operations, a software agent can take independent action in response to local conditions, thereby generating adaptable system behavior. The present invention presents an agent-enhanced system that defines, configures, and deploys autonomous and mobile xe2x80x9csoftware agentsxe2x80x9d that mimic and improve the functioning of xe2x80x9creal worldxe2x80x9d agents in a semiconductor manufacturing plant such as factory workers, material, equipment, processes, etc. An example of a manufacturing facility that employs such an agent is a manufacturing facility that includes a computer system, the computer system having a processor and a memory, the computer system also including software code that implements one or more of the software objects described herein.
An automated system is provided in a facility that manufactures m products, where m greater than 0 The system comprises a software object that provides for calculation of one or more bottleneck delta virtual work in process time (xe2x80x9cVWIPxe2x80x9d) values. Each of the bottleneck delta VWIP values represents the amount of time until one of n bottleneck workstations begins to risk starvation, where n greater than 0. VWIP is the amount of time a bottleneck will stay busy processing WIP that will reach the bottleneck in less time than new lot starts will reach the same bottleneck. In at least one embodiment, each of the bottleneck delta VWIP values is calculated as a mathematical function of virtual WIP time for the corresponding bottleneck workstation and a lower control limit for the corresponding bottleneck workstation. In at least one other embodiment, n greater than 2 and the software object provides for calculation of a plurality of bottleneck delta VWIP values. The software object contains program code that provides for the foregoing functionality either directly or by invoking one or more other objects.
At least one other embodiment provides a method for performing calculations in a facility that manufactures m products, where m greater than 0. The method comprises providing a software object that provides for calculation of a plurality of bottleneck delta VWIP values. Each of the bottleneck delta VWIP values represents the time until a corresponding one of n bottleneck workstations begins to risk starvation.